home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / What's New? / Development Kits / Display Manager SDK v1.1 / Compiler & Runtime Files / • New universal header files • / PInterfaces / Displays.p next >
Encoding:
Text File  |  1996-03-05  |  22.5 KB  |  593 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Displays.p
  3.  
  4.      Contains:    Display Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces in “Display Manager Development Kit” (post ETO #18)
  8.                  Date:        3/5/96
  9.  
  10.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  11.                  All rights reserved.
  12.  
  13.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  14.                  stack.  Include the file and version information (from above)
  15.                  in the problem description and send to:
  16.                      Internet:    apple.bugs@applelink.apple.com
  17.                      AppleLink:    APPLE.BUGS
  18.  
  19. }
  20.  
  21. {$IFC UNDEFINED UsingIncludes}
  22. {$SETC UsingIncludes := 0}
  23. {$ENDC}
  24.  
  25. {$IFC NOT UsingIncludes}
  26.  UNIT Displays;
  27.  INTERFACE
  28. {$ENDC}
  29.  
  30. {$IFC UNDEFINED __DISPLAYS__}
  31. {$SETC __DISPLAYS__ := 1}
  32.  
  33. {$I+}
  34. {$SETC DisplaysIncludes := UsingIncludes}
  35. {$SETC UsingIncludes := 1}
  36.  
  37.  
  38. {$IFC UNDEFINED __CONDITIONALMACROS__}
  39. {$I ConditionalMacros.p}
  40. {$ENDC}
  41.  
  42. {$IFC UNDEFINED __COMPONENTS__}
  43. {$I Components.p}
  44. {$ENDC}
  45. {    Types.p                                                        }
  46. {    MixedMode.p                                                    }
  47.  
  48. {$IFC UNDEFINED __VIDEO__}
  49. {$I Video.p}
  50. {$ENDC}
  51. {    Quickdraw.p                                                    }
  52. {        QuickdrawText.p                                            }
  53.  
  54. {$IFC UNDEFINED __APPLEEVENTS__}
  55. {$I AppleEvents.p}
  56. {$ENDC}
  57. {    Errors.p                                                    }
  58. {    Memory.p                                                    }
  59. {    OSUtils.p                                                    }
  60. {    Events.p                                                    }
  61. {    EPPC.p                                                        }
  62. {        AppleTalk.p                                                }
  63. {        Files.p                                                    }
  64. {            Finder.p                                            }
  65. {        PPCToolbox.p                                            }
  66. {        Processes.p                                                }
  67. {    Notification.p                                                }
  68.  
  69. {$IFC UNDEFINED __WINDOWS__}
  70. {$I Windows.p}
  71. {$ENDC}
  72. {    Controls.p                                                    }
  73. {        Menus.p                                                    }
  74.  
  75. {$IFC UNDEFINED __EVENTS__}
  76. {$I Events.p}
  77. {$ENDC}
  78.  
  79. {$IFC UNDEFINED __PROCESSES__}
  80. {$I Processes.p}
  81. {$ENDC}
  82.  
  83. {$IFC UNDEFINED __DIALOGS__}
  84. {$I Dialogs.p}
  85. {$ENDC}
  86. {    TextEdit.p                                                    }
  87.  
  88. {$PUSH}
  89. {$ALIGN MAC68K}
  90. {$LibExport+}
  91.  
  92. CONST
  93. { AppleEvents Core Suite }
  94.     kAESystemConfigNotice        = 'cnfg';
  95. { Core Suite types }
  96.     kAEDisplayNotice            = 'dspl';
  97.     kAEDisplaySummary            = 'dsum';
  98.     keyDMConfigVersion            = 'dmcv';
  99.     keyDMConfigFlags            = 'dmcf';
  100.     keyDMConfigReserved            = 'dmcr';
  101.     keyDisplayID                = 'dmid';
  102.     keyDisplayComponent            = 'dmdc';
  103.     keyDisplayDevice            = 'dmdd';
  104.     keyDisplayFlags                = 'dmdf';
  105.     keyDisplayMode                = 'dmdm';
  106.     keyDisplayModeReserved        = 'dmmr';
  107.     keyDisplayReserved            = 'dmdr';
  108.     keyDisplayMirroredId        = 'dmmi';
  109.     keyDeviceFlags                = 'dddf';
  110.     keyDeviceDepthMode            = 'dddm';
  111.     keyDeviceRect                = 'dddr';
  112.     keyPixMapRect                = 'dpdr';
  113.     keyPixMapHResolution        = 'dphr';
  114.     keyPixMapVResolution        = 'dpvr';
  115.     keyPixMapPixelType            = 'dppt';
  116.     keyPixMapPixelSize            = 'dpps';
  117.     keyPixMapCmpCount            = 'dpcc';
  118.     keyPixMapCmpSize            = 'dpcs';
  119.     keyPixMapAlignment            = 'dppa';
  120.     keyPixMapResReserved        = 'dprr';
  121.     keyPixMapReserved            = 'dppr';
  122.     keyPixMapColorTableSeed        = 'dpct';
  123.     keySummaryMenubar            = 'dsmb';
  124.     keySummaryChanges            = 'dsch';
  125.     keyDisplayOldConfig            = 'dold';
  126.     keyDisplayNewConfig            = 'dnew';
  127.  
  128.     dmOnlyActiveDisplays        = true;
  129.     dmAllDisplays                = false;
  130.  
  131. { Switch Flags }
  132.     kNoSwitchConfirmBit            = 0;                            { Flag indicating that there is no need to confirm a switch to this mode }
  133.     kDepthNotAvailableBit        = 1;                            { Current depth not available in new mode }
  134.     kShowModeBit                = 3;                            { Show this mode even though it requires a confirm. }
  135.     kModeNotResizeBit            = 4;                            { Do not use this mode to resize display (for cards that mode drives a different connector). }
  136.     kNeverShowModeBit            = 5;                            { This mode should not be shown in the user interface. }
  137.  
  138. {    Summary Change Flags (sticky bits indicating an operation was performed)
  139.     For example, moving a display then moving it back will still set the kMovedDisplayBit.
  140. }
  141.     kBeginEndConfigureBit        = 0;
  142.     kMovedDisplayBit            = 1;
  143.     kSetMainDisplayBit            = 2;
  144.     kSetDisplayModeBit            = 3;
  145.     kAddDisplayBit                = 4;
  146.     kRemoveDisplayBit            = 5;
  147.     kNewDisplayBit                = 6;
  148.     kDisposeDisplayBit            = 7;
  149.     kEnabledDisplayBit            = 8;
  150.     kDisabledDisplayBit            = 9;
  151.     kMirrorDisplayBit            = 10;
  152.     kUnMirrorDisplayBit            = 11;
  153.  
  154. { Notification Messages for extended call back routines }
  155.     kDMNotifyInstalled            = 1;                            { At install time }
  156.     kDMNotifyEvent                = 2;                            { Post change time }
  157.     kDMNotifyRemoved            = 3;                            { At remove time }
  158.     kDMNotifyPrep                = 4;                            { Pre change time }
  159.     kDMNotifyExtendEvent        = 5;                            { Allow registrees to extend apple event before it is sent }
  160.     kDMNotifyDependents            = 6;                            { Minor notification check without full update }
  161.     kDMNotifySuspendConfigure    = 7;                            { Temporary end of configuration }
  162.     kDMNotifyResumeConfigure    = 8;                            { Resume configuration }
  163. { Notification Flags }
  164.     kExtendedNotificationProc    = 0+(1 * (2**(16)));
  165.  
  166. { types for notifyType }
  167.     kFullNotify                    = 0;                            { This is the appleevent whole nine yards notify }
  168.     kFullDependencyNotify        = 1;                            { Only sends to those who want to know about interrelated functionality (used for updating UI) }
  169.  
  170. { DisplayID/DeviceID constants }
  171.     kDummyDeviceID                = $0FF;                            { This is the ID of the dummy display, used when the last “real” display is disabled.}
  172.     kInvalidDisplayID            = $000;                            { This is the invalid ID}
  173.     kFirstDisplayID                = $100;
  174.  
  175. { bits for panelListFlags }
  176.     kAllowDuplicatesBit            = 0;
  177.  
  178. { bits for nameFlags }
  179.     kSuppressNumberBit            = 0;
  180.     kSuppressNumberMask            = 1;
  181.     kForceNumberBit                = 1;
  182.     kForceNumberMask            = 2;
  183.     kSuppressNameBit            = 2;
  184.     kSuppressNameMask            = 4;
  185.  
  186. { Constants for fidelity checks }
  187.     kNoFidelity                    = 0;
  188.     kMinimumFidelity            = 1;
  189.     kDefaultFidelity            = 500;                            { I'm just picking a number for Apple default panels and engines}
  190.     kDefaultManufacturerFidelity = 1000;                        { I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults)}
  191.  
  192.     kAnyPanelType                = 0;                            { Pass to DMNewEngineList for list of all panels (as opposed to specific types)}
  193.     kAnyEngineType                = 0;                            { Pass to DMNewEngineList for list of all engines}
  194.     kAnyDeviceType                = 0;                            { Pass to DMNewDeviceList for list of all devices}
  195.     kAnyPortType                = 0;                            { Pass to DMNewDevicePortList for list of all devices}
  196.  
  197. { portListFlags for DM_NewDevicePortList }
  198. { Should offline devices be put into the port list (such as dummy display) }
  199.     kPLIncludeOfflineDevicesBit    = 0;
  200.  
  201.     
  202. TYPE
  203.     DMFidelityType = LONGINT;
  204.  
  205. { AVID is an ID for ports and devices the old DisplayID type
  206.     is carried on for compatibility
  207. }
  208.     AVIDType = LONGINT;
  209.  
  210.     DisplayIDType = AVIDType;
  211.  
  212.     DMListType = Ptr;
  213.  
  214.     DMListIndexType = LONGINT;
  215.  
  216.     AVPowerStateRec = VDPowerStateRec;
  217.  
  218.     AVPowerStatePtr = ^VDPowerStateRec;
  219.  
  220.     DMComponentListEntryRec = RECORD
  221.         itemID:                    DisplayIDType;                            { DisplayID Manager}
  222.         itemComponent:            Component;                                { Component Manager}
  223.         itemDescription:        ComponentDescription;                    { We can always construct this if we use something beyond the compontent mgr.}
  224.         itemClass:                ResType;                                { Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices)}
  225.         itemFidelity:            DMFidelityType;                            { How good is this item for the specified search?}
  226.         itemSubClass:            ResType;                                { Subclass of group to put this panel.  Can use to do sub-grouping (eg volume for volume panel and mute panel)}
  227.         itemSort:                Point;                                    { Set to 0 - future to sort the items in a sub group.}
  228.         itemFlags:                LONGINT;                                { Set to 0 (future expansion)}
  229.         itemReserved:            ResType;                                { What kind of code does the itemReference point to  (right now - kPanelEntryTypeComponentMgr only)}
  230.         itemFuture1:            LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  231.         itemFuture2:            LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  232.         itemFuture3:            LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  233.         itemFuture4:            LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  234.     END;
  235.  
  236.     DMComponentListEntryPtr = ^DMComponentListEntryRec;
  237.  
  238. { ••• Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created}
  239.     AVLocationRec = RECORD
  240.         locationConstant:        LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  241.     END;
  242.  
  243.     AVLocationPtr = ^AVLocationRec;
  244.  
  245.     DMDepthInfoRec = RECORD
  246.         depthSwitchInfo:        VDSwitchInfoPtr;                        { This is the switch mode to choose this timing/depth }
  247.         depthVPBlock:            VPBlockPtr;                                { VPBlock (including size, depth and format) }
  248.         depthFlags:                LONGINT;                                { Reserved }
  249.         depthReserved1:            LONGINT;                                { Reserved }
  250.         depthReserved2:            LONGINT;                                { Reserved }
  251.     END;
  252.  
  253.     DMDepthInfoPtr = ^DMDepthInfoRec;
  254.  
  255.     DMDepthInfoBlockRec = RECORD
  256.         depthBlockCount:        LONGINT;                                { How many depths are there? }
  257.         depthVPBlock:            DMDepthInfoPtr;                            { Array of DMDepthInfoRec }
  258.         depthBlockFlags:        LONGINT;                                { Reserved }
  259.         depthBlockReserved1:    LONGINT;                                { Reserved }
  260.         depthBlockReserved2:    LONGINT;                                { Reserved }
  261.     END;
  262.  
  263.     DMDepthInfoBlockPtr = ^DMDepthInfoBlockRec;
  264.  
  265.     DMDisplayModeListEntryRec = RECORD
  266.         displayModeFlags:        LONGINT;
  267.         displayModeSwitchInfo:    VDSwitchInfoPtr;
  268.         displayModeResolutionInfo: VDResolutionInfoPtr;
  269.         displayModeTimingInfo:    VDTimingInfoPtr;
  270.         displayModeDepthBlockInfo: DMDepthInfoBlockPtr;                    { Information about all the depths}
  271.         displayModeReserved1:    Ptr;                                    { Reserved}
  272.         displayModeName:        ^Str255;                                { Name of the timing mode}
  273.     END;
  274.  
  275.     DMDisplayModeListEntryPtr = ^DMDisplayModeListEntryRec;
  276.  
  277.     DependentNotifyRec = RECORD
  278.         notifyType:                ResType;                                { What type was the engine that made the change (may be zero)}
  279.         notifyClass:            ResType;                                { What class was the change (eg geometry, color etc)}
  280.         notifyPortID:            DisplayIDType;                            { Which device was touched (kInvalidDisplayID -> all or none)}
  281.         notifyComponent:        ComponentInstance;                        { What engine did it (may be 0)?}
  282.         notifyVersion:            LONGINT;                                { Set to 0 (future expansion)}
  283.         notifyFlags:            LONGINT;                                { Set to 0 (future expansion)}
  284.         notifyReserved:            LONGINT;                                { Set to 0 (future expansion)}
  285.         notifyFuture:            LONGINT;                                { Set to 0 (future expansion)}
  286.     END;
  287.  
  288.     DependentNotifyPtr = ^DependentNotifyRec;
  289.  
  290. { Exports to support Interfaces library containing unused calls }
  291.     DMNotificationProcPtr = ProcPtr;  { PROCEDURE DMNotification(VAR theEvent: AppleEvent); }
  292.     DMExtendedNotificationProcPtr = ProcPtr;  { PROCEDURE DMExtendedNotification(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr); }
  293.     DMComponentListIteratorProcPtr = ProcPtr;  { PROCEDURE DMComponentListIterator(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr); }
  294.     DMDisplayModeListIteratorProcPtr = ProcPtr;  { PROCEDURE DMDisplayModeListIterator(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr); }
  295.     DMNotificationUPP = UniversalProcPtr;
  296.     DMExtendedNotificationUPP = UniversalProcPtr;
  297.     DMComponentListIteratorUPP = UniversalProcPtr;
  298.     DMDisplayModeListIteratorUPP = UniversalProcPtr;
  299.  
  300. CONST
  301.     uppDMNotificationProcInfo = $000000C0; { PROCEDURE (4 byte param); }
  302.     uppDMExtendedNotificationProcInfo = $00000EC0; { PROCEDURE (4 byte param, 2 byte param, 4 byte param); }
  303.     uppDMComponentListIteratorProcInfo = $00000FC0; { PROCEDURE (4 byte param, 4 byte param, 4 byte param); }
  304.     uppDMDisplayModeListIteratorProcInfo = $00000FC0; { PROCEDURE (4 byte param, 4 byte param, 4 byte param); }
  305.  
  306. FUNCTION NewDMNotificationProc(userRoutine: DMNotificationProcPtr): DMNotificationUPP;
  307.     {$IFC NOT GENERATINGCFM }
  308.     INLINE $2E9F;
  309.     {$ENDC}
  310.  
  311. FUNCTION NewDMExtendedNotificationProc(userRoutine: DMExtendedNotificationProcPtr): DMExtendedNotificationUPP;
  312.     {$IFC NOT GENERATINGCFM }
  313.     INLINE $2E9F;
  314.     {$ENDC}
  315.  
  316. FUNCTION NewDMComponentListIteratorProc(userRoutine: DMComponentListIteratorProcPtr): DMComponentListIteratorUPP;
  317.     {$IFC NOT GENERATINGCFM }
  318.     INLINE $2E9F;
  319.     {$ENDC}
  320.  
  321. FUNCTION NewDMDisplayModeListIteratorProc(userRoutine: DMDisplayModeListIteratorProcPtr): DMDisplayModeListIteratorUPP;
  322.     {$IFC NOT GENERATINGCFM }
  323.     INLINE $2E9F;
  324.     {$ENDC}
  325.  
  326. PROCEDURE CallDMNotificationProc(VAR theEvent: AppleEvent; userRoutine: DMNotificationUPP);
  327.     {$IFC NOT GENERATINGCFM}
  328.     INLINE $205F, $4E90;
  329.     {$ENDC}
  330.  
  331. PROCEDURE CallDMExtendedNotificationProc(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr; userRoutine: DMExtendedNotificationUPP);
  332.     {$IFC NOT GENERATINGCFM}
  333.     INLINE $205F, $4E90;
  334.     {$ENDC}
  335.  
  336. PROCEDURE CallDMComponentListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr; userRoutine: DMComponentListIteratorUPP);
  337.     {$IFC NOT GENERATINGCFM}
  338.     INLINE $205F, $4E90;
  339.     {$ENDC}
  340.  
  341. PROCEDURE CallDMDisplayModeListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr; userRoutine: DMDisplayModeListIteratorUPP);
  342.     {$IFC NOT GENERATINGCFM}
  343.     INLINE $205F, $4E90;
  344.     {$ENDC}
  345.  
  346. FUNCTION DMGetFirstScreenDevice(activeOnly: BOOLEAN): GDHandle;
  347.     {$IFC NOT GENERATINGCFM}
  348.     INLINE $7000, $ABEB;
  349.     {$ENDC}
  350. FUNCTION DMGetNextScreenDevice(theDevice: GDHandle; activeOnly: BOOLEAN): GDHandle;
  351.     {$IFC NOT GENERATINGCFM}
  352.     INLINE $7001, $ABEB;
  353.     {$ENDC}
  354. PROCEDURE DMDrawDesktopRect(VAR globalRect: Rect);
  355.     {$IFC NOT GENERATINGCFM}
  356.     INLINE $7002, $ABEB;
  357.     {$ENDC}
  358. PROCEDURE DMDrawDesktopRegion(globalRgn: RgnHandle);
  359.     {$IFC NOT GENERATINGCFM}
  360.     INLINE $7003, $ABEB;
  361.     {$ENDC}
  362. FUNCTION DMBeginConfigureDisplays(VAR displayState: Handle): OSErr;
  363.     {$IFC NOT GENERATINGCFM}
  364.     INLINE $303C, $0206, $ABEB;
  365.     {$ENDC}
  366. FUNCTION DMEndConfigureDisplays(displayState: Handle): OSErr;
  367.     {$IFC NOT GENERATINGCFM}
  368.     INLINE $303C, $0207, $ABEB;
  369.     {$ENDC}
  370. FUNCTION DMAddDisplay(newDevice: GDHandle; driver: INTEGER; mode: LONGINT; reserved: LONGINT; displayID: LONGINT; displayComponent: Component; displayState: Handle): OSErr;
  371.     {$IFC NOT GENERATINGCFM}
  372.     INLINE $303C, $0D08, $ABEB;
  373.     {$ENDC}
  374. FUNCTION DMMoveDisplay(moveDevice: GDHandle; x: INTEGER; y: INTEGER; displayState: Handle): OSErr;
  375.     {$IFC NOT GENERATINGCFM}
  376.     INLINE $303C, $0609, $ABEB;
  377.     {$ENDC}
  378. FUNCTION DMDisableDisplay(disableDevice: GDHandle; displayState: Handle): OSErr;
  379.     {$IFC NOT GENERATINGCFM}
  380.     INLINE $303C, $040A, $ABEB;
  381.     {$ENDC}
  382. FUNCTION DMEnableDisplay(enableDevice: GDHandle; displayState: Handle): OSErr;
  383.     {$IFC NOT GENERATINGCFM}
  384.     INLINE $303C, $040B, $ABEB;
  385.     {$ENDC}
  386. FUNCTION DMRemoveDisplay(removeDevice: GDHandle; displayState: Handle): OSErr;
  387.     {$IFC NOT GENERATINGCFM}
  388.     INLINE $303C, $040C, $ABEB;
  389.     {$ENDC}
  390. FUNCTION DMSetMainDisplay(newMainDevice: GDHandle; displayState: Handle): OSErr;
  391.     {$IFC NOT GENERATINGCFM}
  392.     INLINE $303C, $0410, $ABEB;
  393.     {$ENDC}
  394. FUNCTION DMSetDisplayMode(theDevice: GDHandle; mode: LONGINT; VAR depthMode: LONGINT; reserved: LONGINT; displayState: Handle): OSErr;
  395.     {$IFC NOT GENERATINGCFM}
  396.     INLINE $303C, $0A11, $ABEB;
  397.     {$ENDC}
  398. FUNCTION DMCheckDisplayMode(theDevice: GDHandle; mode: LONGINT; depthMode: LONGINT; VAR switchFlags: LONGINT; reserved: LONGINT; VAR modeOk: BOOLEAN): OSErr;
  399.     {$IFC NOT GENERATINGCFM}
  400.     INLINE $303C, $0C12, $ABEB;
  401.     {$ENDC}
  402. FUNCTION DMGetDeskRegion(VAR desktopRegion: RgnHandle): OSErr;
  403.     {$IFC NOT GENERATINGCFM}
  404.     INLINE $303C, $0213, $ABEB;
  405.     {$ENDC}
  406. FUNCTION DMRegisterNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  407.     {$IFC NOT GENERATINGCFM}
  408.     INLINE $303C, $0414, $ABEB;
  409.     {$ENDC}
  410. FUNCTION DMRemoveNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  411.     {$IFC NOT GENERATINGCFM}
  412.     INLINE $303C, $0415, $ABEB;
  413.     {$ENDC}
  414. FUNCTION DMQDIsMirroringCapable(VAR qdIsMirroringCapable: BOOLEAN): OSErr;
  415.     {$IFC NOT GENERATINGCFM}
  416.     INLINE $303C, $0216, $ABEB;
  417.     {$ENDC}
  418. FUNCTION DMCanMirrorNow(VAR canMirrorNow: BOOLEAN): OSErr;
  419.     {$IFC NOT GENERATINGCFM}
  420.     INLINE $303C, $0217, $ABEB;
  421.     {$ENDC}
  422. FUNCTION DMIsMirroringOn(VAR isMirroringOn: BOOLEAN): OSErr;
  423.     {$IFC NOT GENERATINGCFM}
  424.     INLINE $303C, $0218, $ABEB;
  425.     {$ENDC}
  426. FUNCTION DMMirrorDevices(gD1: GDHandle; gD2: GDHandle; displayState: Handle): OSErr;
  427.     {$IFC NOT GENERATINGCFM}
  428.     INLINE $303C, $0619, $ABEB;
  429.     {$ENDC}
  430. FUNCTION DMUnmirrorDevice(gDevice: GDHandle; displayState: Handle): OSErr;
  431.     {$IFC NOT GENERATINGCFM}
  432.     INLINE $303C, $041A, $ABEB;
  433.     {$ENDC}
  434. FUNCTION DMGetNextMirroredDevice(gDevice: GDHandle; VAR mirroredDevice: GDHandle): OSErr;
  435.     {$IFC NOT GENERATINGCFM}
  436.     INLINE $303C, $041B, $ABEB;
  437.     {$ENDC}
  438. FUNCTION DMBlockMirroring: OSErr;
  439.     {$IFC NOT GENERATINGCFM}
  440.     INLINE $701C, $ABEB;
  441.     {$ENDC}
  442. FUNCTION DMUnblockMirroring: OSErr;
  443.     {$IFC NOT GENERATINGCFM}
  444.     INLINE $701D, $ABEB;
  445.     {$ENDC}
  446. FUNCTION DMGetDisplayMgrA5World(VAR dmA5: Ptr): OSErr;
  447.     {$IFC NOT GENERATINGCFM}
  448.     INLINE $303C, $021E, $ABEB;
  449.     {$ENDC}
  450. FUNCTION DMGetDisplayIDByGDevice(displayDevice: GDHandle; VAR displayID: DisplayIDType; failToMain: BOOLEAN): OSErr;
  451.     {$IFC NOT GENERATINGCFM}
  452.     INLINE $303C, $051F, $ABEB;
  453.     {$ENDC}
  454. FUNCTION DMGetGDeviceByDisplayID(displayID: DisplayIDType; VAR displayDevice: GDHandle; failToMain: BOOLEAN): OSErr;
  455.     {$IFC NOT GENERATINGCFM}
  456.     INLINE $303C, $0520, $ABEB;
  457.     {$ENDC}
  458. FUNCTION DMSetDisplayComponent(theDevice: GDHandle; displayComponent: Component): OSErr;
  459.     {$IFC NOT GENERATINGCFM}
  460.     INLINE $303C, $0421, $ABEB;
  461.     {$ENDC}
  462. FUNCTION DMGetDisplayComponent(theDevice: GDHandle; VAR displayComponent: Component): OSErr;
  463.     {$IFC NOT GENERATINGCFM}
  464.     INLINE $303C, $0422, $ABEB;
  465.     {$ENDC}
  466. FUNCTION DMNewDisplay(VAR newDevice: GDHandle; driverRefNum: INTEGER; mode: LONGINT; reserved: LONGINT; displayID: DisplayIDType; displayComponent: Component; displayState: Handle): OSErr;
  467.     {$IFC NOT GENERATINGCFM}
  468.     INLINE $303C, $0D23, $ABEB;
  469.     {$ENDC}
  470. FUNCTION DMDisposeDisplay(disposeDevice: GDHandle; displayState: Handle): OSErr;
  471.     {$IFC NOT GENERATINGCFM}
  472.     INLINE $303C, $0424, $ABEB;
  473.     {$ENDC}
  474. FUNCTION DMResolveDisplayComponents: OSErr;
  475.     {$IFC NOT GENERATINGCFM}
  476.     INLINE $7025, $ABEB;
  477.     {$ENDC}
  478. FUNCTION DMRegisterExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; nofifyOnFlags: INTEGER; whichPSN: ProcessSerialNumberPtr): OSErr;
  479.     {$IFC NOT GENERATINGCFM}
  480.     INLINE $303C, $07EF, $ABEB;
  481.     {$ENDC}
  482. FUNCTION DMRemoveExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; whichPSN: ProcessSerialNumberPtr; removeFlags: INTEGER): OSErr;
  483.     {$IFC NOT GENERATINGCFM}
  484.     INLINE $303C, $0726, $ABEB;
  485.     {$ENDC}
  486. FUNCTION DMNewAVPanelList(displayID: DisplayIDType; panelType: ResType; minimumFidelity: DMFidelityType; panelListFlags: LONGINT; reserved: LONGINT; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  487.     {$IFC NOT GENERATINGCFM}
  488.     INLINE $303C, $0C27, $ABEB;
  489.     {$ENDC}
  490. FUNCTION DMNewAVEngineList(displayID: DisplayIDType; engineType: ResType; minimumFidelity: DMFidelityType; engineListFlags: LONGINT; reserved: LONGINT; VAR engineCount: DMListIndexType; VAR engineList: DMListType): OSErr;
  491.     {$IFC NOT GENERATINGCFM}
  492.     INLINE $303C, $0C28, $ABEB;
  493.     {$ENDC}
  494. FUNCTION DMNewAVDeviceList(deviceType: ResType; deviceListFlags: LONGINT; reserved: LONGINT; VAR deviceCount: DMListIndexType; VAR deviceList: DMListType): OSErr;
  495.     {$IFC NOT GENERATINGCFM}
  496.     INLINE $303C, $0A29, $ABEB;
  497.     {$ENDC}
  498. FUNCTION DMNewAVPortListByPortType(subType: ResType; portListFlags: LONGINT; reserved: LONGINT; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  499.     {$IFC NOT GENERATINGCFM}
  500.     INLINE $303C, $0A2A, $ABEB;
  501.     {$ENDC}
  502. FUNCTION DMGetIndexedComponentFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: LONGINT; listIterator: DMComponentListIteratorUPP; userData: UNIV Ptr): OSErr;
  503.     {$IFC NOT GENERATINGCFM}
  504.     INLINE $303C, $0A2B, $ABEB;
  505.     {$ENDC}
  506. FUNCTION DMDisposeList(panelList: DMListType): OSErr;
  507.     {$IFC NOT GENERATINGCFM}
  508.     INLINE $303C, $022C, $ABEB;
  509.     {$ENDC}
  510. FUNCTION DMGetNameByAVID(theID: AVIDType; nameFlags: LONGINT; VAR name: Str255): OSErr;
  511.     {$IFC NOT GENERATINGCFM}
  512.     INLINE $303C, $062D, $ABEB;
  513.     {$ENDC}
  514. FUNCTION DMNewAVIDByPortComponent(thePortComponent: Component; portKind: ResType; reserved: LONGINT; VAR newID: AVIDType): OSErr;
  515.     {$IFC NOT GENERATINGCFM}
  516.     INLINE $303C, $082E, $ABEB;
  517.     {$ENDC}
  518. FUNCTION DMGetPortComponentByAVID(thePortID: DisplayIDType; VAR thePortComponent: Component; VAR theDesciption: ComponentDescription; VAR thePortKind: ResType): OSErr;
  519.     {$IFC NOT GENERATINGCFM}
  520.     INLINE $303C, $082F, $ABEB;
  521.     {$ENDC}
  522. FUNCTION DMSendDependentNotification(notifyType: ResType; notifyClass: ResType; displayID: AVIDType; notifyComponent: ComponentInstance): OSErr;
  523.     {$IFC NOT GENERATINGCFM}
  524.     INLINE $303C, $0830, $ABEB;
  525.     {$ENDC}
  526. FUNCTION DMDisposeAVComponent(theAVComponent: Component): OSErr;
  527.     {$IFC NOT GENERATINGCFM}
  528.     INLINE $303C, $0231, $ABEB;
  529.     {$ENDC}
  530. FUNCTION DMSaveScreenPrefs(reserved1: LONGINT; saveFlags: LONGINT; reserved2: LONGINT): OSErr;
  531.     {$IFC NOT GENERATINGCFM}
  532.     INLINE $303C, $0632, $ABEB;
  533.     {$ENDC}
  534. FUNCTION DMNewAVIDByDeviceComponent(theDeviceComponent: Component; portKind: ResType; reserved: LONGINT; VAR newID: DisplayIDType): OSErr;
  535.     {$IFC NOT GENERATINGCFM}
  536.     INLINE $303C, $0833, $ABEB;
  537.     {$ENDC}
  538. FUNCTION DMNewAVPortListByDeviceAVID(theID: AVIDType; minimumFidelity: DMFidelityType; portListFlags: LONGINT; reserved: LONGINT; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  539.     {$IFC NOT GENERATINGCFM}
  540.     INLINE $303C, $0C34, $ABEB;
  541.     {$ENDC}
  542. FUNCTION DMGetDeviceComponentByAVID(theDeviceID: AVIDType; VAR theDeviceComponent: Component; VAR theDesciption: ComponentDescription; VAR theDeviceKind: ResType): OSErr;
  543.     {$IFC NOT GENERATINGCFM}
  544.     INLINE $303C, $0835, $ABEB;
  545.     {$ENDC}
  546. FUNCTION DMNewDisplayModeList(displayID: DisplayIDType; modeListFlags: LONGINT; reserved: LONGINT; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  547.     {$IFC NOT GENERATINGCFM}
  548.     INLINE $303C, $0A36, $ABEB;
  549.     {$ENDC}
  550. FUNCTION DMGetIndexedDisplayModeFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: LONGINT; listIterator: DMDisplayModeListIteratorUPP; userData: UNIV Ptr): OSErr;
  551.     {$IFC NOT GENERATINGCFM}
  552.     INLINE $303C, $0A37, $ABEB;
  553.     {$ENDC}
  554. FUNCTION DMGetGraphicInfoByAVID(theID: AVIDType; VAR theAVPcit: PicHandle; VAR theAVIconSuite: Handle; VAR theAVLocation: AVLocationRec): OSErr;
  555.     {$IFC NOT GENERATINGCFM}
  556.     INLINE $303C, $0838, $ABEB;
  557.     {$ENDC}
  558. FUNCTION DMGetAVPowerState(theID: AVIDType; getPowerState: AVPowerStatePtr; reserved1: LONGINT): OSErr;
  559.     {$IFC NOT GENERATINGCFM}
  560.     INLINE $303C, $0839, $ABEB;
  561.     {$ENDC}
  562. FUNCTION DMSetAVPowerState(theID: AVIDType; setPowerState: AVPowerStatePtr; powerFlags: LONGINT; displayState: Handle): OSErr;
  563.     {$IFC NOT GENERATINGCFM}
  564.     INLINE $303C, $083A, $ABEB;
  565.     {$ENDC}
  566. FUNCTION DMGetDeviceAVIDByPortAVID(portAVID: AVIDType; VAR deviceAVID: AVIDType): OSErr;
  567.     {$IFC NOT GENERATINGCFM}
  568.     INLINE $303C, $043B, $ABEB;
  569.     {$ENDC}
  570. FUNCTION DMGetEnableByAVID(theAVID: AVIDType; VAR isAVIDEnabledNow: BOOLEAN; VAR canChangeEnableNow: BOOLEAN): OSErr;
  571.     {$IFC NOT GENERATINGCFM}
  572.     INLINE $303C, $063C, $ABEB;
  573.     {$ENDC}
  574. FUNCTION DMSetEnableByAVID(theAVID: AVIDType; doEnable: BOOLEAN; displayState: Handle): OSErr;
  575.     {$IFC NOT GENERATINGCFM}
  576.     INLINE $303C, $053D, $ABEB;
  577.     {$ENDC}
  578. FUNCTION DMGetDisplayMode(theDevice: GDHandle; switchInfo: VDSwitchInfoPtr): OSErr;
  579.     {$IFC NOT GENERATINGCFM}
  580.     INLINE $303C, $043E, $ABEB;
  581.     {$ENDC}
  582.  
  583. {$ALIGN RESET}
  584. {$POP}
  585.  
  586. {$SETC UsingIncludes := DisplaysIncludes}
  587.  
  588. {$ENDC} {__DISPLAYS__}
  589.  
  590. {$IFC NOT UsingIncludes}
  591.  END.
  592. {$ENDC}
  593.